package com.gl.order.mapper;

import com.gl.order.entity.vo.DbsxInfoVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 流程處理 Mapper 接口
 * </p>
 *
 * @author lsy
 * @since 2021-06-17
 */
@Repository
public interface ProcessMapper {

    /**
     * 新增流程
     * @param params
     * @return int
     */
    public int addLc(@Param("params") Map<String, String> params);

    /**
     * 修改流程
     * @param params
     * @return
     */
    public int updateLc(@Param("params") Map<String, String> params);

    /**
     * 新增流程节点
     * @param params
     * @return
     */
    public int addLcJd(@Param("params") Map<String, String> params);

    /**
     * 修改流程节点
     * @param params
     * @return
     */
    public int updateLcJd(@Param("params") Map<String, String> params);

    /**
     * 根據zbwid查詢審核歷史
     * @param zbwid
     * @return
     */
    public List<Map<String,String>> queryShlsByZbwid(@Param("zbwid") String zbwid);

    /**
     * 根據zbwid查詢審流程信息
     * @param params
     * @return
     */
    public List<Map<String,String>> queryLcInfoByWid(@Param("params") Map<String, String> params);

    /**
     * 保存代办
     * @param params
     * @return
     */
    public int saveDbsx(@Param("params") Map<String, String> params);

    /**
     * 查询待办总数
     * @param params
     * @return
     */
    public int queryDbsxCount(@Param("params") Map<String, Object> params);

    /**
     * 查詢代辦數據
     * @param params
     * @return
     */
    public List<Map<String,String>> queryDbsxInfo(@Param("params") Map<String, Object> params);

    List<DbsxInfoVo> queryAllDbsxInfo(@Param("params") Map<String, Object> params);

    /**
     * 查询对象流程是否结束
     * @param zbwid
     * @return
     */
    public int queryProcessIsEnd(@Param("zbwid") String zbwid);

    /**
     * 查询下一个节点
     * @param params
     * @return
     */
    public List<Map<String,String>> queryNextJd(@Param("params") Map<String, Object> params);

    /**
     * 是否有审核权限
     *
     * @param params
     * @return
     */
    public int isPermission(@Param("params") Map<String, String> params);

    /**
     * 保存审核历史
     * @param params
     * @return
     */
    public int saveShls(@Param("params") Map<String, String> params);

    /**
     * 删除代办
     * @param params
     * @return
     */
    public int deleteDbsx(@Param("params") Map<String, Object> params);

    /**
     * 查询个人代办
     * @param params
     * @return
     */
    public Map<String,String> queryGrDbData(@Param("params") Map<String, Object> params);

    /**
     * 查询当前待办JD是否结束
     * @param params
     * @return
     */
    public int queryDbJdIsEnd(@Param("params") Map<String, Object> params);

    /**
     * 查询lcWid按主表wid
     * @param zbwid
     * @return
     */
    public String queryLcByZbwid(@Param("zbwid") String zbwid);

    /**
     * 修改主表信息
     * @param params
     * @return
     */
    public int updateZbData(@Param("params") Map<String, Object> params);

    /**
     * 查询节点信息
     * @param jdwid
     * @return
     */
    public Map<String,String> queryJdInfoByJdWid(@Param("jdwid") String jdwid);

    /**
     * 查询表信息
     * @param tableName
     * @return
     */
    public List<Map<String,String>> queryTableInfo(@Param("tableName") String tableName);

    /**
     * 查询配置信息
     * @param jdwid
     * @return
     */
    public List<Map<String,String>> queryConfigColumns(@Param("jdwid") String jdwid);

    /**
     * 查询流程表名
     * @param lcwid
     * @return
     */
    public String queryLcTable(@Param("lcwid") String lcwid);

    /**
     * 获取当前状态
     * @param params
     * @return
     */
    public String queryDqztByZbwid(@Param("params") Map<String, String> params);
}
